package com.tenebrous.jestic.factorys;

import com.tenebrous.jestic.chain.AbstractJesticChainHandler;
import com.tenebrous.jestic.context.JesticTask;
import com.tenebrous.jestic.context.Response;
import com.tenebrous.jestic.enums.TaskEnum;

/**
 * @Description:
 * @Project: jestic-server
 * @Package: com.tenebrous.jestic.factorys
 * @Author: zhangya
 * @CreateTime: 2023-06-29  14:03
 * @Version: 1.0.0
 */
public interface AbstractJesticInitInterface<T extends JesticTask, C extends Response> {

    /**
     * @description:
     * 建造handler
     *
     * @author: zhangya
     * @date: 2023/6/29 14:12
     * @param:
     * @return:
     **/
    AbstractJesticChainHandler<T, C> buildBuilder();

    /**
     * @description:
     * 获取任务类型
     *
     * @author: zhangya
     * @date: 2023/6/29 14:12
     * @param:
     * @return:
     **/
    TaskEnum getTaskType();

}
